package pe.gob.sunarp.publicidad.servicio;

import java.util.List;

import pe.gob.sunarp.entidad.OficRegistral;
import pe.gob.sunarp.entidad.RegisPublico;
import pe.gob.sunarp.entidad.TmDocIden;
import pe.gob.sunarp.publicidad.beanconsulta.ActosBean;
import pe.gob.sunarp.publicidad.beanconsulta.BeanPrueba;
import pe.gob.sunarp.publicidad.beanconsulta.DetalleBusquedaTituloBean;
import pe.gob.sunarp.publicidad.beanconsulta.OficinaRegistralBean;
import pe.gob.sunarp.publicidad.beanconsulta.ParticipantePNBean;
import pe.gob.sunarp.publicidad.beanconsulta.ParticipantePJBean;
import pe.gob.sunarp.publicidad.beanconsulta.PartidasBean;
import pe.gob.sunarp.publicidad.beanconsulta.SolicitudBean;
import pe.gob.sunarp.publicidad.beanconsulta.TituloActoBean;
import pe.gob.sunarp.publicidad.beanconsulta.TituloNumeroBean;
import pe.gob.sunarp.publicidad.beanconsulta.TituloPartidaBean;
import pe.gob.sunarp.publicidad.beanconsulta.TmDetalleTituloBean;


public interface TituloServicio {
	List<OficRegistral> buscarOficinas();

	List<TmDocIden> buscarDocumentoPN();

	List<TmDocIden> buscarDocumentoPJ();

	List<TituloNumeroBean> buscarPorNumero(String ptitulo, String pano,
			String pzona);

	List<RegisPublico> buscarZonas();

	List<TituloActoBean> buscarTituloActo(String ptitulo, String pano,
			String pzona);

	List<TituloActoBean> buscarTituloActoRMC(String ptitulo, String pano);

	List<TituloPartidaBean> buscarTituloPartida(String ptitulo, String pano,
			String pzona);

	List<TituloPartidaBean> buscarTituloPartidaRMC(String ptitulo, String pano);

	// METODO GENERICO PARA BUSCAR TITULO X NUMERO
	List<TituloPartidaBean> buscarTituloXNumero(String ptitulo, String pano,
			String pzona, String flag);

	// METODO GENERICO PARA BUSCAR TITULO X PRESENTANTE (PN)

	List<TituloPartidaBean> buscarTituloXPresentantePN(String apePat,
			String apeMat, String nombres, String tipDoc, String numDoc,
			String zona, String tipoBusqueda);

	List<TituloPartidaBean> buscarTituloXPresentantePJ(String razonSocial,
			String siglas, String tipDoc, String numDoc, String zona,
			String tipoBusqueda);

	List<ParticipantePNBean> buscarParticipantePNXTitulo(String titulo,
			String ano, String zona, String oficina);

	List<ParticipantePJBean> buscarParticipantePJXTitulo(String titulo,
			String ano, String zona, String oficina);

	// METODO GENERICO PARA BUSCAR TITULO X PARTICIPANTE (PN)

	List<TituloPartidaBean> buscarTituloXParticipantePN(String apePat,
			String apeMat, String nombres, String tipDoc, String numDoc,
			String zona, String tipoBusqueda);

	// METODO GENERICO PARA BUSCAR TITULO X PARTICIPANTE (PJ)
    List<TituloPartidaBean> buscarTituloXParticipantePJ(
			String razonSocial, String siglas, String tipDoc, String numDoc,
			String zona, String tipoBusqueda);

	List<ActosBean> buscarActosXTitulo(String ptitulo, String pano,
			String pzona, String poficina);

	// danny
	
	 List<ActosBean> buscarActos(String ptitulo, String pano, String pzona,
			String poficina);

		
	 List<TmDetalleTituloBean> estadoAnterior(long refTitu, long nsDetalle);
	 

	 List<BeanPrueba> mostrarDetalleXTitulo(String ptitulo,
				String pano, String pzona, String poficina, String parea, String tipoBusqueda);
	 
		//euclides para el caso de uso estado de titulos sin acceso
	 List<ParticipantePNBean> buscarParticipantePNXTitulo(String titulo,
				String ano, String zona, String oficina,String area);

	 List<ParticipantePJBean> buscarParticipantePJXTitulo(String titulo,
				String ano, String zona, String oficina,String area);
	 
	 long countmaxDetalle(long refTitu);
		
	 long maxDetalle(long refTitu);
	 
	 List<PartidasBean> buscarTituloPartida_mensaje(String ptitulo, String pano,
				String pzona, String poficina,String pcodarea);
	 
	 String buscarRazSocReservada(long refnum);
	    
	 List<ParticipantePNBean> buscarParticipantePNXTituloRMC(String titulo,
				String ano,String area);
		
	 List<ParticipantePJBean> buscarParticipantePJXTituloRMC(String titulo,
				String ano,String area);
		
	 List<OficinaRegistralBean> listaOficinaReg();
		
	 List<DetalleBusquedaTituloBean> buscarDetalleTitulo_Libre(String ptitulo,
				String pano, String pzona, String poficina);
	  
	 List<DetalleBusquedaTituloBean> buscarDetalleTitulo_LibreRMC(
				String ptitulo, String pano) ;
		//fin de euclides 
	//solicitudes euclides
	 List<SolicitudBean> buscarSolicitudes(long numeroSolicitud);
		//fin de solicitudes 
}// final de la clase

